home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
C64
/
M-More Monthly Disks
/
(c)m1.d64
/
elec srvc calc.c
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2007-02-04
|
8KB
|
353 lines
10 REM ********************************
12 REM * *
14 REM * ELECTRICAL *
16 REM * SERVICE CALCULATOR *
18 REM * *
20 REM ********************************
22 :
24 REM BY PAUL ROYLE (NOV 83)
26 REM 71 AMORO DR
28 REM REXDALE ONT.
29 REM M9W 4S3 CANADA
30 :
32 X =PEEK(50003):POKE50003,0:Y=PEEK(50003):POKE50003,X
34 UC=12:LC=14:TEXT=59468:RDP=144
36 IFY=160THENSOP=88:SPT=85
38 IFY=1 THENSOP=49:SPT=46
40 IFY=0THENSOP=52:SPT=49:UC=21:LC=23:TEXT=53272:RDP=788:POKE53280,6
42 POKE TEXT,LC:POKERDP,SOP
44 DIM TWOTBL$(13,2),TENTBL$(13,2),SIXTBL(6,28),RL(30),RW(30),RM$(30),NR(30)
46 P$="[197][204][197][195][212][210][201][195][193][204] [211][197][210][214][201][195][197][160][195][193][204][195][213][204][193][212][207][210]"
48 PRINT"[147]";
50 FORI=1TO36
52 PRINT"[166]";
54 NEXTI
56 FORI=1TO19
58 PRINT"[157][166]";
60 NEXT
62 FORI=1TO35
64 PRINT"[157][157][166]";
66 NEXTI
68 FORI=1TO19
70 PRINT"[157][145][166]";
72 NEXTI
74 PRINT"[208]AUL [210]OYLE [211]OFTWARE"
76 PRINT"[208]RESENTS":FORT=1TO100 :NEXTT
78 FOR I=1TOINT((40-(LEN(P$)))/2)
80 PRINT"";
82 NEXTI
84 FORI=1TOLEN(P$)
86 FORT=1TO10:NEXTT
88 PRINTMID$(P$,I,1);
90 NEXTI:PRINT""
92 FOR I=1TOINT((40-(LEN(P$)))/2)
94 PRINT"";
96 NEXTI
98 PRINT"[157][183]";: FORI=1TOLEN(P$)+1
100 FORT=1TO10:NEXTT
102 PRINT"[183]";
104 NEXTI:PRINT""
106 PRINT" [200][201][212][160][211][208][193][195][197][160][212][207][160][211][212][193][210][212] [146]"
108 GETA$:IFA$=""THEN108
110 GOSUB 356: REM SET UP DATA TABLE
112 :
114 REM ***** M E N U *****
116 :
118 PRINT"[147]";
120 FORI=1TO36
122 PRINT"[166]";
124 NEXTI
126 FORI=1TO19
128 PRINT"[157][166]";
130 NEXT
132 FORI=1TO35
134 PRINT"[157][157][166]";
136 NEXTI
138 FORI=1TO19
140 PRINT"[157][145][166]";
142 NEXTI
144 PRINT
146 PRINT"[197][204][197][195][212][210][201][195][193][204] [211][197][210][214][201][195][197][160][195][193][204][195][213][204][193][212][207][210]"
148 PRINT"[183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183]"
150 PRINT"[205][160][197][160][206][160][213]"
152 PRINT"[183] [183] [183] [183]"
154 PRINT"1[146] [211]TART [211]ERVICE [195]ALCULATOR"
156 PRINT"2[146] [211]TUDENT'S [201]NSTRUCTIONS"
158 PRINT"3[146] [201]NSTRUCTOR'S [201]NSTRUCTIONS"
160 PRINT"4[146] [205]ODIFICATIONS"
162 PRINT"5[146] [209]UIT "
164 INPUT" ENTER A NUMBER [191][157][157][157]";M$
166 M$=LEFT$(M$,1)
168 IFM$="1"THEN222
170 IFM$="2"THEN180
172 IFM$="3"THEN550
174 IFM$="4"THEN590
176 IFM$="5"THEN218
178 GOTO 116
180 PRINT"[147][211][212][213][196][197][206][212]'[211][160][201][206][211][212][210][213][195][212][201][207][206][211]"
182 PRINT"[183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183]"
184 PRINT" [212]HIS PROGRAM WAS WRITTEN TO MAKE"
186 PRINT"[211]ERVICE [195]ALCULATIONS A BREEZE. [201]NSTEAD"
188 PRINT"OF HAVING TO CONSULT THE ELECTRIC CODE"
190 PRINT" BOOK, YOU JUST HAVE TO PUNCH THE DATA"
192 PRINT" INTO THE COMPUTER. [217]OU ENTER THE SIZE"
194 PRINT" OF THE HOUSE, THE SMALL APPLIANCE LOAD"
196 PRINT" THE RANGE LOAD, AND THE DIMENTIONS "
198 PRINT" OF THE ROOMS. [212]HE COMPUTER WILL THEN"
200 PRINT"FIGURE OUT THE CONDUCTOR SIZES, CONDUIT"
202 PRINT" SIZES, THE SIZE OF THE MAIN DISCONNECT"
204 PRINT" AND THE NUMBER OF RECEPTACLES REQUIRED"
206 PRINT" [217]OU CAN HAVE SCREEN OR PRINTER OUTPUT"
208 PRINT" [193]LL YOU HAVE TO DO IS ANSWER THE "
210 PRINT" COMPUTER'S QUESTIONS. [200][193][214][197][160][198][213][206]!"
212 PRINT" [200]IT [211]PACE [212]O [210]ETURN [212]O [205][197][206][213] [146]"
214 GETA$:IFA$=""THEN 214
216 GOTO 116
218 POKERDP,SPT:POKETEXT,UC:IFY=0THENPOKE53280,14
220 PRINT"[147]":END
222 REM ***** START *******
224 :
226 REM ** INPUTS AND CALCULATIONS **
228 :
230 GOSUB258
232 :
234 REM ****** RECEPTACLES ******
236 :
238 GOSUB404
240 :
242 REM ****** OUTPUT ******
244 :
246 GOSUB446
248 :
250 GOTO 116: REM RETURN TO MENU
252 :
254 REM ** INPUT AND CALC. AREA **
256 :
258 PRINT"[147]"
260 PRINT"[197]NTER THE FLOORSPACE OF THE HOUSE IN [211]QUARE [198]EET"
262 INPUT FS
264 GLL=5000
266 RFS=FS-1000
268 IF RFS<0THEN274
270 GLL=GLL+1000:RFS=RFS-1000:GOTO268
272 :
274 PRINT" [197]NTER THE SMALL APPLIANCE LOAD IN KILOWATTS"
276 INPUT SAL :SAL=SAL*1000
278 TEL=GLL+SAL
280 BTI=TEL/120
282 TBC=INT((BTI/12)+.9999)
284 :
286 PRINT"[197]NTER THE ACTUAL RANGE LOAD IN KILOWATTS"
288 INPUT RAN
290 RAN=RAN*1000
292 ARAN=6000+.4*(RAN-12000)
294 :
296 RTEL= GLL+ SAL+ ARAN
298 TC=RTEL/240
300 :
302 FORI=1TO13
304 IF VAL(TWOTBL$(I,2))<TC THEN NEXTI
306 MFS$=TWOTBL$(I,1)
308 :
310 FORI=1TO13
312 IF VAL(TWOTBL$(I,2)) < (RAN/240)THEN NEXTI
314 CRS=VAL(TWOTBL$(I,1))
316 :
318 FORI=1TO13
320 IF TENTBL$(I,1)<>MFS$THEN NEXTI
322 CDI=VAL(TENTBL$(I,2))
324 :
326 FORI=1TO26
328 IFSIXTBL(0,I)<CDI THEN NEXTI
330 CAP=I
332 :
334 FORI=1TO6
336 IFSIXTBL(I,CAP)<3THEN NEXTI
338 CS=SIXTBL(I,0)
340 :
342 FORI=1TO5
344 IF MDS(I)<TC THEN NEXTI
346 MD=MDS(I)
348 RETURN
350 :
352 REM **** SET UP DATA TABLES ****
354 :
356 PRINT"[147] [215]AIT WHILE [201] SET UP THE DATA TABLE"
358 FORI=1 TO 2
360 FORJ=1 TO 13
362 READ TWOTBL$(J,I)
364 NEXTJ,I
366 :
368 FORI=1 TO 2
370 FORJ=1 TO 13
372 READ TENTBL$(J,I)
374 NEXTJ,I
376 :
378 FORI=0 TO 28
380 FORJ=0 TO 6
382 READ SIXTBL(J,I)
384 NEXTJ,I
386 :
388 FORI=1TO5
390 READ MDS(I)
392 NEXTI
394 :
396 RETURN
398 :
400 REM INPUT ROOM SIZES FOR RECPTCLS.
402 :
404 PRINT"[147][196]O YOU WANT TO KNOW HOW MANY"
406 PRINT"RECEPTACLES ARE NEEDED PER ROOM?"
408 INPUTA$
410 IFLEFT$(A$,1)="N"THEN RETURN
412 PRINT"[147] [210][197][195][197][208][212][193][195][204][197][211]"
414 RN=1:RM$(1)="STOP"
416 :
418 PRINT"[197]NTER THE ROOM NAME (STOP TO QUIT)"
420 INPUT RM$(RN)
422 IF RM$(RN)="STOP" THEN438
424 :
426 PRINT" [206]OW ENTER THE DIMENSIONS OF THE ROOM"
428 INPUT RL(RN),RW(RN)
430 NR(RN) = INT (((( RL(RN)+ RW(RN)) *2) /12)+.999)
432 RN=RN+1
434 GOTO418
436 :
438 RETURN
440 :
442 REM ***** OUTPUT AREA *****
444 :
446 PRINT"[147][196]O YOU WANT THE OUTPUT ON THE SCREEN"
448 PRINT"OR THE PRINTER. ENTER [208] [146] OR [211] [146]"
450 INPUT OU$
452 PRINT"[147]"
454 IFLEFT$(OU$,1)<>"P"AND LEFT$(OU$,1)<>"S"THEN446
456 IFLEFT$(OU$,1)="P"THEN OPEN4,4:PRINT#4,CHR$(17)
458 IFLEFT$(OU$,1)="S"THEN OPEN4,3
460 PRINT#4," [197][204][197][195][212][210][201][195][193][204] [211][197][210][214][201][195][197] [195][193][204][195][213][204][193][212][201][207][206][211]"
462 PRINT#4,
464 PRINT#4,
466 PRINT#4,"[212]HE HOUSE IS ";FS;" SQUARE FEET."
468 PRINT
470 PRINT#4,"[212]HE SMALL APPLIANCE LOAD IS ";SAL/1000;" KW."
472 PRINT
474 PRINT#4,"[212]HE GENERAL LIGHTING LOAD IS";GLL/1000;" KW."
476 PRINT
478 PRINT#4,"[212]HE RANGE LOAD IS";RAN/1000;" KW"
480 PRINT#4,
482 IF LEFT$(OU$,1)="P"THEN490
484 PRINT"[200]IT [211]PACE [212]O [195]ONTINUE [207]UTPUT[146]"
486 GETB$:IFB$=""THEN486
488 PRINT"[147]"
490 PRINT#4,"[212]HE LIGHTING PANEL NEEDS ";TBC;" BRANCHES"
492 PRINT
494 PRINT
496 PRINT#4,"[205]AIN FEEDERS #";MFS$;" CONDUCTORS"
498 PRINT
500 PRINT#4,"[196]IAMETER OF CONDUCTOR ";CDI;CHR$(34)
502 PRINT
504 PRINT#4,"[205]AIN CONDUIT SIZE ";CS;CHR$(34)
506 PRINT
508 PRINT#4,"[205]AIN DISCONNECT ";MD;" AMPS"
510 PRINT
512 PRINT#4,"[210]ANGE FEEDER #";CRS;" CONDUCTORS"
514 PRINT#4
516 IF LEFT$(OU$,1)="P"THEN524
518 PRINT"[200]IT [211]PACE [212]O [195]ONTINUE [207]UTPUT[146]"
520 GETB$:IFB$=""THEN 520
522 PRINT"[147]"
524 RN=1
526 IFRM$(RN)="STOP"THEN534
528 PRINT#4,RM$(RN);" NEEDS";NR(RN);"RECEPTACLES"
530 RN=RN+1
532 GOTO526
534 PRINT#4,
536 PRINT#4,
538 PRINT#4,"[196][207][206][197]";CHR$(145)
540 CLOSE4
542 PRINT"[200]IT [211]PACE [212]O [195]ONTINUE"
544 GETB$:IFB$=""THEN 544
546 RETURN
548 :
550 REM **** INSTRUCTORS INST. *****
552 :
554 PRINT"[147] [201][206][211][212][210][213][195][212][207][210]'[211][160][201][206][211][212][210][213][195][212][201][207][206][211] [146]"
556 PRINT" [212]HIS PROGRAM IS DESIGNED TO DESIGN"
558 PRINT" ELECTRICAL SERVICES ACCORDING TO"
560 PRINT" THE ELECTRICAL CODES. [212]HE PROGRAM'S"
562 PRINT" CHARACTERISTICS ARE IN THE STUDENT "
564 PRINT" INSTRUCTIONS. [212]HE CALCULATIONS AND"
566 PRINT" DATA ARE BASED ON THE [197]LECTRICAL"
568 PRINT" [211]AFTEY [195]ODE [194]OOK. [193]NY MODIFICATIONS"
570 PRINT" CAN BE DONE BY SIMPLY CHANGEING DATA"
572 PRINT" STATEMENTS AT THE END OF THE PROGRAM"
574 PRINT" [195]HECK OUT THE 'MODIFICATIONS' SECTION"
576 PRINT" FOR MORE DETAILS ON CHANGEING DATA."
578 PRINT" [201]F YOU FIND ANY MISTAKES IN THE"
580 PRINT" PROGRAM PLEASE FIX THEM AND TRY TO"
582 PRINT" CONTACT ME ABOUT THEM."
584 PRINT" [200]IT [211]PACE [212]O [210]ETURN [212]O [205]ENU [146]"
586 GETB$:IFB$=""THEN 586
588 GOTO 116: REM RETURN TO MENU
590 REM ****** MODIFICATIONS ******
592 PRINT"[147] [205] [207][160][196][160][201][160][198][160][201][160][195][160][193][160][212][160][201][160][207][160][206][160][211] [146]"
594 PRINT" [212]HIS PROGRAM WAS WRITTEN SO THAT ANY"
596 PRINT" MODIFACATIONS WOULD BE RELETIVELY EASY"
598 PRINT" TO MAKE. [193]LL OF THE DATA IS STORED"
600 PRINT" IN ARRAYS. [212]HESE ARRAYS ARE FILLED"
602 PRINT" FROM DATA STATEMENTS STARTING AT LINE"
604 PRINT" 1580. [212]O MAKE ANY CHANGES JUST CHANGE"
606 PRINT"DATA STATEMENTS ACCORDING TO THE TABLES"
608 PRINT" AS FOUND IN THE REAR OF THE [207]NTARIO"
610 PRINT" [197]LECTRICAL [211]AFETY [195]ODE [194]OOK"
612 PRINT" HIT SPACE TO RETURN TO MENU [146]"
614 GETA$:IFA$=""THEN614
616 GOTO116
618 REM ******* D A T A ***********
620 :
622 REM TABLE TWO H.E.P.C.
624 :
626 DATA 14,12,10,8,6,4,3,2,1,0,00,000,0000
628 DATA15,20,30,40,55,70,80,100,110,125,145,165,195
630 :
632 REM TABLE TEN H.E.P.C.
634 :
636 DATA 14,12,10,8,6,4,3,2,1,0,00,000,0000
638 DATA.131,.148,.168,.248,.323,.372,.401,.433,.508,.549,.595,.647,.705
640 :
642 REM TABLE SIX H.E.P.C.
644 :
646 DATA0,.5,.75,1,1.25,1.5,2
648 DATA.1,15,27,44,76,101,171
650 DATA.11,12,22,36,63,85,141
652 DATA.12,10,18,30,53,72,119
654 DATA.13,9,15,26,45,61,105
656 DATA.14,7,13,22,39,53,87
658 DATA.15,6,11,19,33,46,76
660 DATA.16,6,10,17,29,40,67
662 DATA.17,5,9,15,26,35,59
664 DATA.18,4,8,13,23,32,53
666 DATA.19,4,7,12,21,28,47
668 DATA.2,3,6,10,19,26,42
670 DATA.225,3,5,8,15,20,33
672 DATA.25,1,4,7,12,16,27
674 DATA.275,1,3,5,10,13,22
676 DATA.3,1,3,4,8,11,19
678 DATA.325,1,1,4,7,9,16
680 DATA.35,1,1,3,6,8,13
682 DATA.375,1,1,3,5,7,12
684 DATA.4,1,1,2,4,6,10
686 DATA.425,1,1,1,4,5,9
688 DATA.45,1,1,1,3,5,8
690 DATA.475,0,1,1,3,4,7
692 DATA.5,0,1,1,3,4,6
694 DATA.55,0,1,1,1,3,5
696 DATA.6,0,1,1,1,2,4
698 DATA.65,0,0,1,1,1,4
700 DATA.7,0,0,1,1,1,3
702 DATA.75,0,0,1,1,1,3
704 :
706 REM MAIN DISCONNECT SIZES IN AMPS
708 :
710 DATA60,100,200,400,600